package com.ethink.order.api.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author default
 * @version 1.0.0
 * @ClassName TobSaleDetailOrderUpdateRequest.java
 * @Description
 * @createTime 2022年11月16日 18:07:00
 */
@Data
public class TobSaleDetailOrderUpdateRequest {

    @NotNull
    @Schema(description = "主键")
    private Long id;

    @Schema(description ="商品SKU")
    private String mateSku;

    @Schema(description ="库存主键")
    private Long mateInventoryId;

    @Schema(description ="采购批次")
    private String purchaseCode;

    @Schema(description ="生产批次")
    private String produceCode;

    @Schema(description ="枚举 库存类型:1-正品(zp)|2-瑕疵(cc)")
    private Integer inventoryType;

    @Schema(description ="采购批次")
    private String purchaseOrderNo;

    @Schema(description ="采购详单号")
    private String purchaseDetailOrderNo;

    @Schema(description ="商品编码")
    private String mateCode;

    @Schema(description ="商品名称")
    private String mateName;

    @Schema(description ="商品SKU名称")
    private String mateSkuName;

    @Schema(description ="大类编号名称")
    private String generaCodeName;

    @Schema(description ="大类编号")
    private String generaCode;

    @Schema(description ="中类编号名称")
    private String minorDefectsCodeName;

    @Schema(description ="中类编号")
    private String minorDefectsCode;

    @Schema(description ="小类编号名称")
    private String subclassCodeName;

    @Schema(description ="小类编号")
    private String subclassCode;

    @Schema(description ="商品分类")
    private String categoryName;

    @Schema(description ="品牌编码")
    private String brandCode;

    @Schema(description ="品牌名称")
    private String brandName;

    @Schema(description ="商品条码")
    private String internationCode;

    @Schema(description ="包装单位编码")
    private String unitCode;

    @Schema(description ="包装单位编码")
    private String unitName;

    @Schema(description ="商品规格")
    private String productSpecification;

    @Schema(description ="商品生产日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
    private Date productDate;

    @Schema(description ="商品过期日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
    private Date expireDate;

    @Schema(description ="成本单价")
    private BigDecimal costPrice;

    @Schema(description ="数量")
    private Integer qty;

    @Schema(description ="销售价")
    private BigDecimal salePrice;

    @Schema(description ="毛利率")
    private BigDecimal grossProfitRate;
}
